package main

import (
	"fmt"
	"log"

	"gitee.com/luo_jun99/go_learning/greetings"
)

// 异常处理参考：https://go.dev/doc/tutorial/handle-errors
func main() {
	returnMap()
	handleError()
	functionInvoke()
}

/**
函数返回map
*/
func returnMap() {
	// 构建一个数组
	names := []string{"罗俊华", "高仔", "pc"}
	greetingsMap, err := greetings.Hellos(names)

	if err != nil {
		log.Fatal(err)
	}

	for key, greeting := range greetingsMap {
		fmt.Printf("key : %s , val : %s\n", key, greeting)
	}
}

/**
函数调用
*/
func functionInvoke() {

	name := "罗俊华"
	str, _ := greetings.Hello(name)
	fmt.Println(str)
}

/**
异常处理
*/
func handleError() {
	log.SetPrefix("hello: ")
	// log.SetFlags(0) // 日志 不显示 日期

	re, err := greetings.Hello("")

	if err == nil {
		fmt.Println(re)
	} else {
		// log.Fatal 可以输入日志，并停止程序
		log.Fatal("异常 ", err)
	}
}
